package com.itheima.exam;

import java.util.Scanner;

/**
 * 案例三：在唱歌比赛中，可能有多名评委要给选手打分，分数是[0 - 100]之间的整数。选手最后得分为：去掉最高分、最低分后 剩余分数的平均分。
 * 请编写程序能够录入多名评委的分数，并算出选手的最终得分(getAverageScore)。
 */
public class Demo03 {

    public static void main(String[] args) {
        //调用方法，让6为评委打分。
        double avg = getAverageScore(6);
        System.out.println("选手的平均分 = " + avg);
    }


    public static double getAverageScore(int n) {
        //1、定义数组保存评委的分数,创建Scanner键盘录入对象。
        int[] arr = new int[n];
        Scanner sc = new Scanner(System.in);
        //2、遍历数组，键盘录入分数保存到数组中。
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请评委输入[0 - 100]之间的整数：");
            arr[i] = sc.nextInt(); //保存到数组中
        }
        //3、遍历数组，计算总分，获取最高分，获取最低分。
        int sum = arr[0];  //总分
        int max = arr[0];  //最高分
        int min = arr[0];  //最低分
        for (int i = 1; i < arr.length; i++) {
            //计算总分
            sum += arr[i];
            //最高分
            if (arr[i] > max) {
                max = arr[i];
            }
            //最低分
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        //4、计算平均分：平均分=(总分-最高分-最低分) / (数组长度-2)
        double avg = (sum - max - min) * 1.0 / (n - 2);
        //5、返回平均分
        return avg;
    }
}
